﻿#include"Date.h"

//int main()
//{
//	Date d1(2024, 8, 14);
//	Date d2 = d1 + 100;
//	d1.Print();
//	d2.Print();
//	d1 += 100;
//	d1.Print();
//	return 0;
//}

//int main()
//{
//	string str("Hello Bit.");
//	str.reserve(111);
//	str.resize(5);
//	str.reserve(50);
//	cout << str.size() << ":" << str.capacity() << endl;
//	return 0;
//}

//int main()
//{
//		string strText = "How are you?";
//		string strSeparator = " ";
//		string strResult;
//		int size_pos = 0;
//		int size_prev_pos = 0;
//		while ((size_pos = strText.find_first_of(strSeparator, size_pos)) != string::npos)
//		{
//			strResult = strText.substr(size_prev_pos, size_pos - size_prev_pos);
//			cout << strResult << " ";
//			size_prev_pos = ++size_pos;
//		}
//		if (size_prev_pos != strText.size())
//		{
//			strResult = strText.substr(size_prev_pos, size_pos - size_prev_pos);
//			cout << strResult << " ";
//		}
//		cout << endl;
//		return 0;
//}

//class Solution {
//public:
//    int myAtoi(string str) {
//        int res = 0, bandry = INT_MAX / 10;
//        int i = 0; int len = str.size();
//        int sigh = 1;
//        if (len == 0)
//            return 0;
//        while (str[i] == ' ')
//        {
//            if (++i == len)
//                return 0;
//        }
//        if (str[i] == '-')
//            sigh = -1;
//        if (str[i] == '-' || str[i] == '+')
//            i++;
//        for (int j = i; j < len; j++)
//        {
//            if (str[j] < '0' || str[j]>'9')
//                break;
//            if (res > bandry || res == bandry && str[j] > '7')
//                return sigh == 1 ? INT_MAX : INT_MIN;
//            res = 10 * res + (str[j] - '0');
//        }
//        return res * sigh;
//    }
//};

//int main()
//{
	/* string num1 = "456";
	 cout <<num1.size();*/
	 //cout <<num1.size()-1;
//	cout <<  (6 + '0')+'3';
//}
//class Solution {
//public:
//    string reverseWords(string s) {
//        int length = s.size();
//        int i = 0;
//        while (i < length)
//        {
//            int start = i;
//            while (i < length && s[i] != ' ') i++;
//            int right = i;
//            reverse(s.begin() + start, s.begin() + right);
//            while (i < length && s[i] == ' ') i++;
//        }
//        return s;
//    }
//};
//
//int main()
//{
//    Solution sl;
//    sl.reverseWords("Let's take LeetCode contest");
//    return 0;
//}
//class Solution {
//public:
//    /**
//     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
//     *
//     *
//     * @param pushV int整型vector
//     * @param popV int整型vector
//     * @return bool布尔型
//     */
//    bool IsPopOrder(vector<int>& pushV, vector<int>& popV) {
//        int vi = 0;
//        stack<int> st;
//        for (auto e : pushV)
//        {
//            st.push(e);
//            while (!st.empty() && st.top() == popV[vi])
//            {
//                st.pop();
//                vi++;
//            }
//        }
//        return st.empty();
//    }
//};
//class MinStack {
//public:
//    MinStack() {
//
//    }
//
//    void push(int val) {
//        _str.push(val);
//        if (_mistr.empty() || _mistr.top() >= val)
//            _mistr.push(val);
//    }
//
//    void pop() {
//        if (_str.top() == _mistr.top())
//        {
//            _mistr.pop();
//        }
//        _str.pop();
//    }
//
//    int top() {
//        return _str.top();
//    }
//
//    int getMin() {
//        return _mistr.top();
//    }
//private:
//    stack<int> _str;
//    stack<int> _mistr;
//};
//class Solution {
//public:
//    vector<vector<int>> levelOrder(TreeNode* root) {
//        vector<vector<int>> vv;
//        queue<TreeNode*> q;
//        int leveSize = 0;
//        if (root) q.push(root), leveSize = 1;
//        while (!q.empty())
//        {
//            vector<int> v;
//            while (leveSize--)
//            {
//                TreeNode* front = q.front();
//                q.pop();
//                v.push_back(front->val);
//                if (front->left) q.push(front->left);
//                if (front->right) q.push(front->right);
//            }
//            vv.push_back(v);
//            leveSize = q.size();
//        }
//        return vv;
//    }
//};